Participation in the Internet of Things
نویسندگان
چکیده
Today, there are many end-user programming tools available, but in the Internet of Things domain, this concept is relatively new. Some pioneer examples include solutions, such as d.tools and Pachube, but also Web2.0, Mash-ups, Twitter and Facebook are suitable backplanes for this kind of applications. Another level of development support is various hardware concepts and solutions, such as RFIDs, Arduino, Violet, NFC, barcodes and many more. Appropriate user programmability could transform a system, multiplying the effectiveness of programmers and users. This article discusses how end-users can be empowered with new building blocks and tools, analogous to those that were emerging during the early phases of Internet growth. Accelerators, frameworks and toolkits are introduced, which would allow everybody to participate in the Internet of Things in the same manner as in the Internet through Wikis, Blogs etc. 4.1 From Internet to Internet of Things Back in the 1960s, a group of visionaries saw great potential in allowing computers to share information, which contributed to the creation of what is today known as Internet. The first network, ARPANET, was developed for a very special purpose: the connection of just four major computers at universities in southwestern US (Salus 1995). This early form of Internet was founded by the government and was used only by computer experts, scientists and librarians for research, education, military and government purposes. There were no personal computers and anyone who used it, had to learn how to use a very complex system. Commercial uses were prohibited unless they directly served the goals of research and education. This policy continued until the late 80’s, when the major breakthrough came with the introduction of Berners-Lee’s World Wide Web. The new protocol he proposed gave simple information access to the general public by embedding hypertext into the Internet. In the following years, the lowering of barriers has made it simple enough, not just to use the Internet, but also to shape it and to add D. Uckelmann et al. (eds.), Architecting the Internet of Things, DOI 10.1007/978-3-642-19157-2_4, © Springer-Verlag Berlin Heidelberg 2011 65 66 I. Pletikosa Cvijikj, F. Michahelles and generate new services. The second generation of the Internet, called Web 2.0 or social web, with its key supporting technologies, Ajax, Wiki, Blog, RSS, and Atom became ubiquitous, faster, and increasingly accessible to non-technical communities, thus introducing the rapid content generation and distribution, which lead to the richness of information of today’s Internet. It is evident that from its beginning the Internet was changing very fast and nowadays it is still evolving. However, instead of just connecting computers and/or wearable devices, it grew from a network linking digital information to a network relating digital information to real world physical items. This new network is called Internet of Things and provides embedding of physical reality into the Internet and information into the physical reality. The concept of the Internet of Things became popular in 1999, when the AutoID Center at Massachusetts Institute of Technology (MIT) designed the RFID technology. Kevin Ashton, co-founder and director of MIT, in an article published in Forbes Magazine, in 2002, said, “...we need an internet for things, a standardised way for computers to understand the real world...” The name of this article contained the first documented usage of the term Internet of Things in literature. In the following years this idea became more popular (Friedemann and Flörkemeier 2009) and in 2009 it was recognised as a general transformation of the Internet by the EU Commission (European Commission 2009). Smart objects play the central role in the Internet of Things idea. Equipped with information and communication technology, everyday items provide a new quality by featuring tiny computers. These objects can store their context, they are networked together, they are able to access Internet services and they interact among themselves and with human beings. In order to connect everyday objects and devices to large databases and networks, a simple, unobtrusive and cost-effective system of item identification is required. Radio Frequency Identification (RFID) offers this functionality. Based on this concept, many traditional industries, such as logistics, manufacturing and retail, have increased their effectiveness of the production cycle by implementing smart devices through RFID and barcode technologies. The cost of rudimentary RFID tags promises to drop to roughly $0.05/unit in the next several years (Sarma 2001), while tags as small as 0.4mm × 0.4mm, and thin enough to be embedded in paper are already commercially available (Takaragi et al. 2001). Such improvements in cost and size will lead to a second wave of applications including vertical market applications, ubiquitous positioning and physical world web, i.e. the real Internet of Things. However, at the moment the Internet of Things is still mostly governed by business applications. On the other hand, new generations of smart phones, sensor networks, opensource Application Programming Interfaces (APIs) and toolkits are becoming more and more pervasive. Still, these devices are mostly not customised to meet 4 The Toolkit Approach for End-user Participation in the Internet of Things 67 specific user expectations. Emerging trends of user programming (Scaffidi et al. 2005) give the opportunity to non-professional end-users of making additions to products, according to their specific needs. However, to let individuals play a main role in the Internet of Things, there are still a number of problems and challenges to overcome. 4.2 Problems and Challenges The development of tools and techniques is a key focus for the concept of participatory design (PD). End-user tools and techniques should promote a practice where researchers and design professionals will be able to learn about users’ work, and where users will be able to take an active part in technology design. To achieve this, these tools should avoid traditional design techniques with abstract representations, and instead allow users to more easily experiment with various design possibilities in a cost effective way (Kensing and Blomberg 1998). Gronbaek et al. (Gronbaek et al. 1997) suggest the use of cooperative prototyping, where users and designers collectively explore the functionality and form of applications as well as their relations to the work in question. This type of cooperation requires access to adequate prototyping tools, which would act as catalysts and triggers in discussions about the relations between work and technology (Mogensen 1992), (Trigg et al. 1991). Tools and techniques used in PD projects should all have the common aim of providing designers and users with a way of connecting current and future work practices with envisioned new technologies. Despite all the challenges, the need for innovation has been recognised and supported. Since Internet of Things systems will be designed, managed and used by multiple stakeholders, driven by different business models and various interests, these systems should (European Commission 2009): • allow new applications to be built on top of existing systems, • allow new systems to be deployed in parallel with existing systems, and • allow an adequate level of interoperability, so that innovative and competitive cross-domain systems and applications can be developed. Pioneer projects in this field, some of which are presented later in this chapter, have already been developed. Still, real-case user-driven scenarios do not exist yet, leading to a situation where the uptake of the technology itself is slowed down. To overcome this situation, end-users must be empowered with new building blocks and tools that were analogously emerging during the Internet growth. 68 I. Pletikosa Cvijikj, F. Michahelles 4.3 Towards a Participatory Approach The process of designing and developing new solutions presents a big challenge for scientists and manufacturers, even when it is about simple, everyday objects. When designing a new product, solutions are usually based on observations and usability conclusions. However, once the product has left the laboratory, the situation is completely different. The problem lies in the fact that designers are often drawn into the trap of trying to find uses for the tools, and deploying the coolest new features, forgetting their primary focus should be on providing value to the end user. However, the large variety of end users, usage conditions and scenarios usually leads to confusion and dissatisfaction regarding the usability of the product in the real world environment. The concept of personalisation offers the solution for the described situation. Still, a designer working on a task of personalisation on an existing application, or building a new personalised application, is poised to make the classic error of putting technology before the needs of the end users (Kramer et al. 2000). Based on these observations, a new idea has grown, focusing on involving end users into the development process. 4.3.1 User-centered Design User-centered design (UCD) is a broad term, used to describe a design philosophy and a variety of methods in which the needs, wants, and limitations of end users are placed at the center of attention at each stage of the design process. UCD differs from other approaches in trying to optimise the solutions based on how people can, want or need to use them, rather than forcing the users to change their working habits in order to comply with the offered approach. UCD is based on involving the users in different stages of the design process, from gathering ideas for functional requirements and usability testing, to direct involvement into the development process itself. The term UCD was initially used by Donald Norman from the University of California San Diego (UCSD) in the 1980s and became widely used after the publication of his co-authored book “User-Centered System Design: New Perspectives on Human-Computer Interaction” (Norman and Draper 1986). Norman’s work explained that involving actual users in the development process, preferably in the environment in which the product would be used, was a natural evolution in the field of UCD. Based on these statements, users became a central part of the development process resulting in more effective, efficient and safer products (Abras et al. 2004). 4 The Toolkit Approach for End-user Participation in the Internet of Things 69 4.3.1.1 User-centered Principles and Activities Today, there is an international standard, ISO 13407: Human-centered design process (ISO 13407 1999), that defines a general process for including humancentered activities throughout a development life-cycle. This standard describes four principles of UCD: • active involvement of users, • appropriate allocation of function to system and to user, • iteration of design solutions, and • multi-disciplinary design; and four UCD activities: • requirements gathering, understanding and specifying the context of use; • requirements specification, specifying the user and organisational requirements; • design, producing designs and prototypes; and • evaluation, carrying out user-based assessment of the site. The process involves iterating through these activities until the objectives are satisfied. As a form of UDC performed during the design activity, PD, focusing on the participation of users in the development process, has gained strong acceptance, particularly in Scandinavian countries. 4.3.1.2 Participatory Design PD applications are diverse in their perspectives, backgrounds, and areas of concern, leading to a lack of a single definition. However, in its essence, PD represents an approach towards assessment, design and development of various systems in which people, destined to actually use these systems, play the major role in designing and in the decision-making process. In other words, users are the co-designers of the systems. The PD approach emerged in the mid 1970s in Scandinavia, under the name cooperative design. It was born out of the labor union’s push for workers to have more democratic control in their work environment (Ehn 1989). However, when presented to the US community, due to the strong separation between managers and workers, participatory was the more appropriate description of the process, where managers and workers did not sit and work together, but rather work separately on the same problems, thus participating in the solution finding process. Pioneer projects included: • Norwegian Iron and Metal Workers Union (NJMF) project, that took a first move from traditional research to working with people (Ehn and Kyng 1987), 70 I. Pletikosa Cvijikj, F. Michahelles • Utopia project (Bodker et al. 1987), (Ehn 1988), whose major achievements were the experience-based design methods, developed through the focus on hands-on experiences, emphasising the need for technical and organisational alternatives, and • Florence project (Bjerknes and Bratteteig 1995) which has started a long line of Scandinavian research projects in the health sector, giving voice to nurses during the development of work and IT in hospitals. Since then, PD projects have varied with respect to how and why workers have participated, from being limited to providing designers with access to workers’ skills and experiences, where workers have little or no control over the design process or its outcome, to fully participating in the process. In all cases, worker participation is considered central to the value and, therefore, the success of the project (Kensing and Blomberg 1998). Caused by the differences that can arise between users and designers, sometimes the users are unable to understand the language of the designers. Therefore, the development of innovative tools and techniques is a key focus for PD projects and their extension into the specific context of particular projects has become part of PD researchers’ repertoire for action. PD techniques involve informal presentation of relations between technology and work, including visualisations (BrunCottan and Wall 1995), toolkits, prototypes and mockups. These tools and techniques promote a practice where both, the technology and the work organisation are in focus, and where users are able to take an active part in technology design. At the dawn of the 21st century, technology is an inseparable part of everyday life, used at work, at home, in school, and on the move. This poses a new challenge to PD to embrace the fact that much technology development no longer happens as a design of isolated systems in well-defined working environments (Beck 2002), but instead community based development is becoming an emerging trend. This produces new techniques in development processes, such as opensource development, end-user programming, crowdsourcing and others, discussed below. 4.3.2 Open-source Development Open source (OS) is a development method for software that harnesses the power of distributed peer review and transparency of process. The promise of OS is software or products of better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in (Open Source Initiative). The concept of free software is an old one and can be traced back to the 1950s. First computers served only as research tools at universities, software was exchanged freely and programmers were paid for the programming as a process, and 4 The Toolkit Approach for End-user Participation in the Internet of Things 71 not for the software itself. When computers reached the business world, software became commercialised and developers started charging for each installation copy. In 1984, Richard Stallmann, a researcher at MIT, founded the Free Software Foundation (FSF) and the GNU project (GNU manifesto), thus providing the foundations for today’s OS movement. Where proprietary commercial software vendors saw an economic opportunity that must be protected, Stallman saw scientific knowledge that must be shared and distributed (Dibona et al. 1999). The OS software movement has received enormous attention in the last several years. It is often characterised as a fundamentally new way to develop software (Raymond 1999) that poses a serious challenge (Dibona et al. 1999) to the commercial software businesses, which dominate most software markets today (Mockus et al. 2002). According to SourceForge.net, as of August, 2010, more than 240,000 software projects have been registered to use their services by more than 2.6 million registered users. The OS development model fundamentally differs from the approaches and economics of traditional software development. First, the usual goal of an OS project is to create a system that is useful or interesting to those who are working on it (Godfrey and Tu 2000). Many successful OS software products have been and are being developed, distributed, and supported by an internet-based community of programmers, i.e. users themselves (Lakhani and von Hippel 2003). Developers are often unpaid volunteers who contribute towards the project as a hobby and there is no direct compensation for their work (Hars and Ou 2002). The question that this poses is the motivation for OS development? Eric Raymond reports (Raymond 1999) that there are at least three basic motives for writing or contributing to the OS projects: user’s direct need for the software and software improvements, enjoyment of the work itself and the enhanced reputation. The most fascinating development in the OS movement today is not necessarily the success of companies like Red Hat or Sendmail Inc. Instead, seeing major corporations like IBM and Oracle, turning their attention to OS as a business opportunity is intriguing. There is only one explanation for this behavior: innovation (Dibona et al. 1999). The new concept based on this, also known as open innovation, is using the OS as the most natural network for innovations (von Hippel 2002). 4.3.3 End-user Programming A further type of community-based development is end-user programming (EUP). One way to define programming is as the process of transforming a mental plan of desired actions for a computer into a representation that can be understood by the computer (Hoc and Nguyen-Xuan 1990). Back in the 1940s, at the beginning of the era of computers, programming was done only by a small number of scientists, i.e. professional software developers. Since that time, software industry has been 72 I. Pletikosa Cvijikj, F. Michahelles growing rapidly, and computer programming has become a technical skill of millions. In parallel, a second, powerful trend has begun to take shape, the so-called end-user programming (Myers and Ko 2009). To understand the concept of end-user programming, it is important to explain the difference between professional and end-user programmers. While professional programmers develop software as a part of their jobs, end-user programmers are people who also write programs, but not as their primary job function. They are not formally trained in programming, yet need to program in order to accomplish their daily tasks. Spreadsheets are considered the major success story in end-user programming (Erwig 2009); however, many end-user programmers also use other special-purpose languages, or are even faced with the requirement of learning professional programming languages to achieve their goals. Despite the differences in priorities between professionals and end-user programmers, they both face the same software engineering challenges. End-user programming has become so ubiquitous, that today there are more end-user programmers than there are professional programmers. According to the expert estimations (Scaffidi et al. 2005), in 2012, 90 million Americans will use computers on workplaces, significantly exceeding the 3 million anticipated professional programmers. Over 13 million workers will “do programming” in a selfreporting sense; and more than 55 million people will use spreadsheets and databases. Due to the variety of end-user programmer profiles and backgrounds, there is not a single method for end-user programming. Instead, several techniques are being used, including programming by demonstration, visual and natural programming and many domain-specific languages and formalisms (End-User Programming). What are the benefits of this approach? The obvious and most important one is: users know their problems best. Therefore, software products could become simpler, and at the same time more reliable. Only the general features will be supported by the issuing company, while details will be developed by end-user programmers, thus providing a richness of features that would otherwise be difficult to explain to a programmer. Allowing users to add their programs would give them freedom and responsibility at the same time. Therefore, it is beneficial for both users and product developers, to use these techniques and provide end-users with the possibility to shape products according to their needs.
منابع مشابه
شناسایی و رتبه بندی خدمات اینترنت اشیا در حوزه سلامت
Introduction: The Internet of Things is a system of connected physical objects that are accessible through the internet. It has been widely applied to connect available medical resources and provide reliable, effective and smart healthcare services to people. Therefore, the aim of this paper was to identify and rank the internet of things in healthcare services. Methods: In this applied resear...
متن کاملA Novel Trust Management Model in the Social Internet of Things
The Internet of Things (IoT) and social networking integration, create a new concept named Social Internet of Things (SIoT) according to which the things are able to autonomously establish social relationships with regard to the owners. Things in SIoT operate according to a service-oriented architecture. There may be misbehaving owners and consequently misbehaving devices that can perform harmf...
متن کاملA Survey of Anomaly Detection Approaches in Internet of Things
Internet of Things is an ever-growing network of heterogeneous and constraint nodes which are connected to each other and the Internet. Security plays an important role in such networks. Experience has proved that encryption and authentication are not enough for the security of networks and an Intrusion Detection System is required to detect and to prevent attacks from malicious nodes. In this ...
متن کاملInvestigating the Effect of Internet of Things on Human Resource Development and Training in the Organization (Case Study: State Airlines)
The Internet of Things is a new phenomenon that has changed the way we interact with our environment and affects all areas of life and the workplace. The purpose of this study is to investigate the effect of Internet of Things on the development and training of human resources in the organization. The present research is one of the applied researches and is considered as a descriptive-survey re...
متن کاملimprovement of Location-based Algorithm in the Internet of Things
Location Based Services (LBS) has become an important field of research with the rapid development of Internet-based Information Technology (IOT) technology and everywhere we use smartphones and social networks in our everyday lives. Although users can enjoy the flexibility, facility, facility and location-based services (LBS) with the Internet of Things, they may lose their privacy. An untrust...
متن کاملInvestigating the Effect of Internet of Things on Human Resource Development and Training in the Organization (Case Study: State Airlines)
The Internet of Things is a new phenomenon that has changed the way we interact with our environment and affects all areas of life and the workplace. The purpose of this study is to investigate the effect of Internet of Things on the development and training of human resources in the organization. The present research is one of the applied researches and is considered as a descriptive-survey re...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011